package org.jeecg.modules.demo.weixin.douyin.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.io.Serializable;

/**
 * @Description: 抖音订单关联表
 * @Author: jeecg-boot
 * @Date: 2023-10-31
 * @Version: V1.0
 */
@Data
@TableName("yx_douyin_order")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "yx_douyin_order对象", description = "抖音订单关联表")
public class YxDouyinOrder implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 表id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "表id")
    private Integer id;
    /**
     * 一次验券的标识, 在验券接口传入
     */
    @Excel(name = "一次验券的标识, 在验券接口传入", width = 15)
    @ApiModelProperty(value = "一次验券的标识, 在验券接口传入")
    private String verifyToken;
    /**
     * 唯一加密code
     */
    @Excel(name = "唯一加密code", width = 15)
    @ApiModelProperty(value = "唯一加密code")
    private String encryptedCode;
    /**
     * 订单id
     */
    @Excel(name = "订单id", width = 15)
    @ApiModelProperty(value = "订单id")
    private String orderId;
    /**
     * 券码id（不是原始券号）
     */
    @Excel(name = "券码id（不是原始券号）", width = 15)
    @ApiModelProperty(value = "券码id（不是原始券号）")
    private String certificateId;
    /**
     * 创建时间   时间戳 单位秒
     */
    @Excel(name = "创建时间   时间戳 单位秒", width = 15)
    @ApiModelProperty(value = "创建时间   时间戳 单位秒")
    private Long startTime;
    /**
     * 截至时间 时间戳 单位秒
     */
    @Excel(name = "截至时间 时间戳 单位秒", width = 15)
    @ApiModelProperty(value = "截至时间 时间戳 单位秒")
    private Long expireTime;
    /**
     * 用户实付金额，单位分
     */
    @Excel(name = "用户实付金额，单位分", width = 15)
    @ApiModelProperty(value = "用户实付金额，单位分")
    private Integer payAmount;
    /**
     * 原始金额，单位分
     */
    @Excel(name = "原始金额，单位分", width = 15)
    @ApiModelProperty(value = "原始金额，单位分")
    private Integer originalAmount;
    /**
     * 券实付金额（=用户实付金额+支付优惠金额），单位分
     */
    @Excel(name = "券实付金额（=用户实付金额+支付优惠金额），单位分", width = 15)
    @ApiModelProperty(value = "券实付金额（=用户实付金额+支付优惠金额），单位分")
    private Integer couponPayAmount;
    /**
     * 划线价，单位分
     */
    @Excel(name = "划线价，单位分", width = 15)
    @ApiModelProperty(value = "划线价，单位分")
    private Integer listMarketAmount;
    /**
     * 团购名称
     */
    @Excel(name = "团购名称", width = 15)
    @ApiModelProperty(value = "团购名称")
    private String title;
    /**
     * 团购类型（type=1团餐券; type=2代金券; type=3次卡）
     */
    @Excel(name = "团购类型（type=1团餐券; type=2代金券; type=3次卡）", width = 15)
    @ApiModelProperty(value = "团购类型（type=1团餐券; type=2代金券; type=3次卡）")
    private Integer grouponType;
    /**
     * 团购SKU ID（商品id）
     */
    @Excel(name = "团购SKU ID（商品id）", width = 15)
    @ApiModelProperty(value = "团购SKU ID（商品id）")
    private String skuId;
    /**
     * 次卡总次数
     */
    @Excel(name = "次卡总次数", width = 15)
    @ApiModelProperty(value = "次卡总次数")
    private Integer timesCount;
    /**
     * 次卡已使用次数
     */
    @Excel(name = "次卡已使用次数", width = 15)
    @ApiModelProperty(value = "次卡已使用次数")
    private Integer timesUsed;
    /**
     * 初始化 0
     * 交易成功  1
     * 待支付 10
     * 支付成功 20
     * 待使用  100
     * 交易关闭  101
     * 预约中 200
     * 已预约  201
     * 退款中 300
     * 已退款  301
     * 履约中 400
     * 已履约401
     */
    @Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    private Integer itemStatus;
    /**
     * 退款金额
     */
    @Excel(name = "退款金额", width = 15)
    @ApiModelProperty(value = "退款金额")
    private Integer refundAmount;
    /**
     * 退款完成时间，13位时间戳，秒时间戳
     */
    @Excel(name = "退款完成时间，13位时间戳，秒时间戳", width = 15)
    @ApiModelProperty(value = "退款完成时间，13位时间戳，秒时间戳")
    private Long refundtime;

    /**
     * 商家id
     */
    @Excel(name = "商家id", width = 15)
    @ApiModelProperty(value = "商家id")
    private String accountId;

    /**
     * 代表抖音团购券的12位原始券码（抖音加密券码核销时）
     */
    @Excel(name = "代表抖音团购券的12位原始券码", width = 15)
    @ApiModelProperty(value = "代表抖音团购券的12位原始券码")
    private String originCode;

    /**
     * 代表验券传入的code或encrypted_code
     */
    @Excel(name = "验券传入的code或encrypted_code", width = 15)
    @ApiModelProperty(value = "验券传入的code或encrypted_code")
    private String code;
    /**
     * 代表券码一次核销的标识（撤销时需要）
     */
    @Excel(name = "券码一次核销的标识", width = 15)
    @ApiModelProperty(value = "券码一次核销的标识")
    private String verifyId;

    /**
     * 加密加密
     */
    @Excel(name = "加密加密", width = 15)
    @ApiModelProperty(value = "加密加密")
    private String phoneEncrypt;
    /**
     * 用户姓名
     */
    @Excel(name = "用户姓名", width = 15)
    @ApiModelProperty(value = "用户姓名")
    private String userName;
    /**
     * 电话号码  中间4为加密
     */
    @Excel(name = "电话号码", width = 15)
    @ApiModelProperty(value = "电话号码")
    private String dyPhone;

    /**
     * 商品人数
     */
    @TableField(exist = false)
    private Integer stock;
}
